<!DOCTYPE html>
<!--
 *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree.
-->
<html>
<head>


    <base target="_blank">

    <title>Generate and transfer data</title>


</head>

<body>

<div id="container">

    <h1><a href="https://webrtc.github.io/samples/" title="WebRTC samples homepage">WebRTC samples</a> <span>Generate and transfer data</span>
    </h1>
    <section>

        <p>This page generates and sends the specified amount of data via WebRTC datachannels.</p>

        <p>To accomplish this in an interoperable way, the data is split into chunks which are then transferred via the
            datachannel. The datachannel is reliable and ordered by default which is well-suited to filetransfers.</p>

        <p>Send and receive progress is monitored using HTML5 <i>progress</i> elements.</p>

    </section>

    <section>
        <div id="button">
            <button id="sendTheData" type="button">Generate and send data</button>
        </div>
        <div class="input">
            <input type="number" id="megsToSend" min="1" name="megs" value="16"/>
            <label for="megsToSend">MB <b>(warning: very large values will potentially cause memory problems)</b></label>
            <div id="errorMsg"></div>
        </div>
        <div class="input">
            <input type="checkbox" id="ordered" checked>
            <label for="ordered">Ordered mode</label>
        </div>
        <div class="progress">
            <div class="label">Send progress:</div>
            <progress id="sendProgress" max="0" value="0"></progress>
        </div>

        <div class="progress">
            <div class="label">Receive progress:</div>
            <progress id="receiveProgress" max="0" value="0"></progress>
        </div>

        <div>
            <span id="transferStatus"></span>
        </div>
    </section>

    <section>
        <p>View the console to see logging.</p>

        <p>The <code>RTCPeerConnection</code> objects <code>localConnection</code> and <code>remoteConnection</code> are
            in global scope, so you can inspect them in the console as well.</p>

        <p>For more information about RTCDataChannel, see <a
                href="http://www.html5rocks.com/en/tutorials/webrtc/basics/#toc-rtcdatachannel"
                title="RTCDataChannel section of HTML5 Rocks article about WebRTC">Getting Started With WebRTC</a>.</p>
    </section>

    <a href="https://github.com/webrtc/samples/tree/gh-pages/src/content/datachannel/datatransfer"
       title="View source for this page on GitHub" id="viewSource">View source on GitHub</a>
</div>



<script src="datatransfer.js"></script>
</body></html>